23

» WarCraft 3 / Фаталит карта

Похожие вопросы:

ответ
Ну тут все очевидно, я абсолютно точно установил источник проблемы и нашел легкодоступное решение, специально для Вас.
Насколько я понимаю, мне совершенно не обязательно его описывать, так как Вы, справедливо полагая что Все люди на Земле, как и Вы, обладают экстрасенсорными способностями, можете подсмотреть его из моей головы.
ответ
почему так долго грузится карта
Потому что огромный Нестандартные объекты может тысяч или больше или Спелл герой до 100 уровень.
из них 60 загрузка просто висит на 1/5.
Если нетак? Проверь если есть файлы war3map.j папка Game\WarcraftIII, надо удалить файл. очень давно тоже 1 раз что за вылет или неправильно выполняет триггер.
Есть способы ускорить загрузку карты не экономя в редакторе объектов
Есть Widgetizer, там очень быстрая загрузка игра, но плохо работает спелл или текст.
ответ
Проблема решена.
ответ
Было создано 22 366 679 экземпляров класса CUnitListNode, которые заняли 255.9 МБ памяти.
При очередной попытке выделения, игра упала.
Виной всему утечки памяти: за 21 минуту набралось 80 тысяч групп и 20 тысяч точек.
Также, из-за выполнения большого количества кода, сильно лагает.
На стадии выбора героя (первые две минуты), выполняется 550 000 операций в секунду, а далее — 1 200 000.
Для сравнения: лимит потока — 300 000 операций.
Хорошо, что ты приложил карту, так как в логе маловато информации.

23

» WarCraft 3 / Таблица - дерево

Похожие вопросы:

ответ
Вопрос решён. Не нужно ничего сортировать. Мне нужно было 3 первых места. Я просто в цикле сравнимал позицию данного игрока в ледербоарде с нужной мне позицией.

23

» WarCraft 3 / Процентный урон

Похожие вопросы:

ответ
Не совсем понял, но если нужно снести 33% от оставшегося здоровья, то как-то так:
Установить ХП = ХП - ((ХП / ХП макс.) / 3)).
ответ
Ловишь весь урон
@
Наносишь от источников дополнительный
ответ
Параметры стака ядов с одним и тем же баффом, это нужно чтобы складывались замедлени и\или урон от разных юнитов, или бафф тупо обновлялся.
С одним из параметров яды с разными баффами скатаются независимо, каждый вешает свой бафф. (годная основа для замедляющих способностей)
А игра вылетает из за зацикливания, темболее бафф при удалении и появлении наносит 0.00 ед урона, это так для справки.
ответ
Steal nerves:
Yonsen, обычно юзают предметную способность "запас здоровья" до 999999к хп. Обычно на все случаи жизни, любимый метод. Даем ее в момент нанесения урона. Когда срабатывает событие "юнит получает", то в этот момент урон еще не произошел, нам как бы оповешают, что он будет через 0.00 сек. Получает пассивку и через 0.00 сек урон. Потом хилим. И удаляем способность. Все.
ответ
Наносить доп урон триггерно, в тот самый момент когда один юнит получает урон от другого.
Как отловить физ урон уже писали не раз...

23

» WarCraft 3 / Один таймер

Похожие вопросы:

ответ
Занеси в переменную , а то так не катит .
ответ
Стремись к использованию одного единственного таймера(по крайней мере это пропагандируется с давних пор. конкретных чисел по производительности дать не могу). Каждый тик таймера увеличиваешь целочисленные переменные, выделенные по одной для каждого игрока. По событию отданного приказа обнуляешь эти переменные. Если переменная > скольки-то, предлагаешь прописать сообщение в чат для кика. Правда в дотке там таймер по получению опыта вроде.
ответ
способ 1
вешать структуру на таймер с помощью эксплойта (для тех кто не знает структура это число) а потом этим таймером вызывать нужную функцию спустя 0 секунд
плюсы:
простота
минусы:
требует добавлять иф на каждую новую функцию
второй способ
тоже самое что и 1 только на таймер вешается вдобавок название функции и таймер вызывает её экзекутом
вот моя библиотека по 2 способу и карта с примером
в библиотеке в самом верху есть небольшой док по 3 функциям
ответ
XGM Bot:
Похожие вопросы:

ответ
оказывается, во втором триггере я использовал ту же переменную индекса, что и в первом. Melissa и naxim , спасибо вам =)
ответ
Всё, разобрался, вопрос снимаю)
ответ
Tapper, не ,не помогает.
Если ты конечно про
//! nocjass

//! endnocjass
В общем, такая проблема возникает только на JNGP Requiem.
ответ
Сейчас попробую integer SHV_N = 0 . Это единственное чо я смог предположить
ответ
Проблема возникает также при переносе вот этого вот в инициализацию триггера тест.
Но при этом если вместо строки вроде "12345" использовать, например, GetAbilityName('Aloc') - то все работает.
Это какой-то баг со строками?
Еще у меня почему-то происходит фантомный клик по центру карты в начале игры
Вобщем не стоит юзать имена функций напрямую в экзекуте и вообще таймеры лучше

ответ
Чето совершенно непонятно что вам нужно, найти тот таймер и его индекс в массиве, который истек и запустил триггер?
Ну очень просто , перебором в цикле всех таймеров и смотреть кто истек, тот кто истек того индекс вы и получите, считая шаги цикла.
В чем проблема?.
(100+ таймеров и массив по мне идиотия, неужели нельзя было воспользоваться хештаблицей и создавать\удалять таймеры по мере надобности)

23

» WarCraft 3 / common.ai

Похожие вопросы:

ответ
Wyett, ты можешь добавлять подобные этим:
function ... takes ... returns ...
Код
endfunction
Резака купить можно, но это будет абсолютно не похоже на покупку дирижабля.

23

» WarCraft 3 / m2

Похожие вопросы:

ответ
Тут по-моему всё очевидно. Чадо пытается открыть в мдлвисе модель в формате m2, чего мдлвис не делает ещё с выхода burning crusade.
ответ
ответ
а как найти модель в архиве вов?
Открываешь архив и... ВНЕЗАПНО - ищешь.

23

» WarCraft 3 / Бафф Аура

Похожие вопросы:

ответ
Можно сделать 2 похожие ауры и одну из них давать в "книге заклинаний" в скрытом виде(Игрок - disable ability - книга заклинаний) когда изучает "официальную ауру". Получится 1 аура действует на союзн. другая на врагов, а если надо проверять на бафф, то поставь условие "или" и воткни проверку бафф первой и второй ауры.
книга заклинаний это такая способность, куда можно запихнуть другие способности, дать книгу юниту, запретить её, чтобы не было видно, а способности внутринеё действовали
ответ
баф у ауры убрать нельзя
ибо именно баф даёт все бонусы ауры
для теста можешь триггерно удалять ауру и баф с юнита
бонус от ауры тут же исчезнет
а если не удалять баф то он повесит пару секунд давая бонус
лучше всего это видно на доспехах веры
так что пиши свою ауру
на основе таймера с периодом в 1 секунду и перебором всех юнитов на расстоянии R от владельца ауры и добавлении им бонусов
а так же удалением бонусов у отошедших юнитов
ответ
Делаешь ауру на самого себя из "ауры торнадо".
убираешь замедление, в целях ставишь - сам воин, радиус: (-1.00)
выбираешь нужный тебе бафф из списка "заклинаний"
можешь прикрепить спецэффект к ауре, точно так же как это делается у "доспехов веры" (то, что на паладине, в ногах)
При входе юнита в область - даёшь ему эту ауру
При выходе - отнимаешь ауру и бафф (что бы бафф пропадал мгновенно с спецэффектом)
Готово.
ответ
Steal nerves:
вот, смотри триггер cast и способность "Божественный щит" в карте
xgm.guru/p/wc3/179535?postid=336091#comment72 ищи 72 коммент, костыльный
xgm.guru/p/wc3/179535?postid=336719#comment142 ищи 142 коммент, это то что в карте

23

» WarCraft 3 / Скиньте видео

Похожие вопросы:

ответ
видео гайда нету но есть текстовый
вот по пунктам
  1. заюзать прогу "депротектор" на карте (депротектор можно найти на этом сайте или в гугле)
  2. с помощью mpq архиватора вытащить из карты файл war3map.j (mpq архиватор можно найти на этом сайте или в гугле)
  3. найти и удалить условие проверки одиночная игра или нет (в каждой карте проверка сделана по своему так что без мозга и знаний jass нифига не выйдет)
  4. запихнуть файл war3map.j обратно в карту с помощью mpq архиватора
  5. ????
  6. PROFIT

23

» WarCraft 3 / Уменьшение атаки

Принятый ответ
Похожие вопросы:

ответ
gabriel_fisher:
molot39, и как в данном случае ордер аттак триггер выглядит?
действие через триггер юнит, отдать приказ "стоп"

прости, без скрина, я сейчас свой проект рендерю
ответ
Если тебе нужна формула, то глянь вот тут:
ответ
Игровые константы - там статы
Игровой интерфейс - сама иконка, и что на ней написано
ответ
Steal nerves:
Yonsen, обычно юзают предметную способность "запас здоровья" до 999999к хп. Обычно на все случаи жизни, любимый метод. Даем ее в момент нанесения урона. Когда срабатывает событие "юнит получает", то в этот момент урон еще не произошел, нам как бы оповешают, что он будет через 0.00 сек. Получает пассивку и через 0.00 сек урон. Потом хилим. И удаляем способность. Все.
ответ
Событие: Юнит приводит способность в действие
Условие: Примененная способность = Увечье(или что там)
Действие: Уменьшить размер цели заклинания(не имею понятия как там это будет называться, но суть такова)

23

» WarCraft 3 / World editor.

Похожие вопросы:

ответ
ну все по стандарту - проверка на вирусы, проверка реестра, чистка реестра, дефрагментация диска, проверка диска, установка в другую директорию, откат на точку восстановления
ответ
nvc123, да, и я это уже понял
ответ
Вершины все правильно прикреплены к костям?
ответ
Не особо шарю, но :
-отключить антивирус
-переустанови jngp

23

» WarCraft 3 / Очень нестандартные способности.

Похожие вопросы:

ответ
The Dude, это несерьезно. Все вопросы описаны в большом количестве статей здесь, на нашем сайте - xgm.guru/p/wc3/articles. То, что перечисляешь не верх мастерства WE, а базовые знания. Материалов предостаточно. Успехов в обучении.
ответ
нефиг создавать столько объектов
редактируй напрямую слк
ответ
igor_razor, дай своему "ополченцу" способность "к оружию (работник)" и не будет фатала)
ответ
как писали выше данные ро конвертим в слк и пихаем в архив
иначе никак
ответ
Proshel_Doty, иди учи тер вер
если тебя не устраивает то как работает здравый смысл то убей себя
если тебе повезёт то ты переродишься в мире который тебя устраивает
если хочешь чтобы срабатывала каждые 5 раз то это не случайность а тупо счётчик

23

» Game Dev / Какой движок выбрать?

Похожие вопросы:

ответ
Бери Юнити - хороший выбор. Много уроков, полезных и т.д.
Если не хочешь сильно заморчиваться - бери конструктор Game Maker.

23

» 3D Арт и VR / Blender

Похожие вопросы:

ответ
Как вариант - изначально экструдить ребра, а не с полигоны, там где нужны плоские поверхности. Главное не забыть 2-сторонний материал использовать потом.

23

» WarCraft 3 / Окно здоровья.

Похожие вопросы:

ответ
  1. а) Создай 2 переменные-массива по типу "боевая единица" (массив - чтобы для каждого игрока, мы ведь за мультиплеер трем, прально?), назови типа MyChampion и MyChampionDummy.
    б) подготовь невидимого героя-пустышку с нужной тебе иконкой, убери ману, если у чемпиона ее нет. Убери ему радиус обзора, убери галочки типа "отмечать на мини-карте" - остальные - опционально.
    В дальнейшем мы будем синхронизировать пустышку и реального чемпиона, создавая видимость одной боевой единицы.
    Итак, наш первый триггер:
в) Отследи первое появление чемпиона, когда это случится - создай для игрока героя-пустышку. Соответственно сделай MyChampion [number of (Owner of trained unit)]= last trained unit, следующей строчкой создай того самого героя-пустышку для (owner of trained unit) и сделай MyChampionDummy = last created unit. Теперь мы прочно связали этих чуваков. Этот же триггер запускает остальные.
г) Отслеживание здоровья. Сделай изначально выключенный цикличный триггер, там, каждые 0.3 секунды. Триггер запускается пунктом в). Каждые 0.3 секунды меняй здоровье героя (чья икона висит, надо чтобы она соответствовала, прально?) в % на здоровье самого чемпиона.
д) пропищи событие, мол, если выбирает игрок своего героя (кликая на иконку) выбирается чемпион
е) убивай героя вместе с чемпионом
ж) отключай триггеры с проверкой и выбором, пока чемпион мертв
з) не забывай обновлять переменную чемпиона с каждым новым чемпионом.

23

» WarCraft 3 / Модели из World of Warcraft

Похожие вопросы:

ответ
Артес Менетил, для начал в задницу яндекс - трешак еще тот, используй гугл. А дальше слушай, напрямую конвертера в MDX с дренора не существует, Импортируй M2 в макс скриптом, потом экспортируй в MDX и используй, экспортировать можешь скрипом экспорта в MDX и вручную добавить материалы в W3ME. Оба скрипта есть на сайте, если тебе нужны юниты с анимациями - тут нужно с бубном поплясать и методами, которых я не знаю, либо скачать плагин NeoDex с хайва и экспортировать через него со всеми прекрасностями, но там тоже нужно будет настраивать, читай гайды на том же хайве, только учти, что они все не на русском
Извлечь м2 можешь программами работающими с новым форматом архивов CASCExplorer или CASCViewer
ответ
Учись пользоваться гуглом.
Есть много торрентов, разных сайтов где можно его скачать.
Я бы тебе скинул, но, тут видимо запрещено помогать ссылками. Увы.(

23

» WarCraft 3 / Синхронизация строк

Похожие вопросы:

ответ
Ну как бы там все одно да потому, код тот же что я описал выше, вот только проверять все надо в МУИ это раз, два время затраченное на синхронизацию может быть пипец каким большим...
function Trig_SyncStr_Actions takes nothing returns nothing
    local string splayer = null
    local player pl = Player(0)
    
    if GetLocalPlayer() == pl then
        call StoreString( udg_Data, "A", "B", "твоя строка!" )
    endif

    call TriggerSyncReady()
    
    if GetLocalPlayer) == pl  then
        call SyncStoredString( udg_Data, "A", "B"  )
    endif

    call TriggerSleepAction( 2.00 )
    
    call TriggerSyncReady()
    
    set splayer = GetStoredString( udg_Data, "A", "B" ) // выгрузи строку из кеша в локалку и делай с ней что хочешь
    
endfunction

//===========================================================================
function InitTrig_SyncStr takes nothing returns nothing
    set gg_trg_SyncStr = CreateTrigger(  )
    call TriggerAddAction( gg_trg_SyncStr, function Trig_SyncStr_Actions )
endfunction
Триггер запускаем ExecuteTrigger а "Твоя строка" заменяется на глобальную переменную.

23

» WarCraft 3 / Убрать контроль юнита!

Похожие вопросы:

ответ
Сделай проверку на приказы. если допустим ты его заставляешь бежать куда то отменяешь приказ и делаешь ему другой приказ стоять или бежать) или что он там у тебя делает
ответ
UniverseRuler, в доте 6-6 использованы игроки 13 и 14
тебе нужно просто сохранять приказ отданный триггерно(ты ведь ими будешь юнитами управлять)
и восстанавливать его при получение приказа для игрока
для этого нужна буленовская переменная для определения триггерный это приказ или нет
и структура/хэш/юзердата для сохранения приказа
UniverseRuler:
еще остались асы картостроения, но а сейчас начинаю думать, что их все таки нету
если ас картостроения это человек который воплощает все ваши фантазии в жизнь то тут таких нету и не было
ещё можно создавать всех юнитов за 1 резервного игрока
а автоатаку делать триггерно
этот вариант самый лучший но то просто не сможешь его сделать
ибо нужны джасс+алгоритмы+структуры/хэш
а ты судя по всему ничего из этого не знаешь

23

» WarCraft 3 / Не могу сделать триггер - как мне кажется простой

Похожие вопросы:

ответ
Пордон, там мой косяк. Давно на GUI не работал. Вот так верно.
теперь кастом скрипт таков
call UnitAddItemToSlotById(GetManipulatingUnit(),'id вашего предмета',GetForLoopIndexA()-1)
я просто предмет сравнивал с предметом (1=1?)
а надо было 1=x?
в общем щас правльно
карту еще прикрепил. С тебя "+"

23

» WarCraft 3 / Mpq Editor

Похожие вопросы:

ответ
русские буквы в пути к вару
всё на диске c
омг
ответ
Tand, под кодировкой я имею в виду кодировку. Есть такая штука, определяет какими комбинациями нулей и едениц в бинарном виде кодируется каждый символ. Если при сохранении использована не та кодировка, которую понимает игра, то игра, соответственно, неможет сопоставить нулям и еденицам из файла конкретные символы, а значит ничего не показывает или показывает совсем не то, что было написано изначально.
Скачай Notepad++ -встроенные в винду средства годятся разве что заметки о жизни офисного планктона писать.
ответ
как писали выше данные ро конвертим в слк и пихаем в архив
иначе никак
ответ
Может, он не war3map.j читает, а как-то еще?
Как-то еще.

23

» WarCraft 3 / Искусственный интеллект

Похожие вопросы:

ответ
Wyett, ты можешь добавлять подобные этим:
function ... takes ... returns ...
Код
endfunction
Резака купить можно, но это будет абсолютно не похоже на покупку дирижабля.
ответ
ADAm:
Narkranoth:
Да да да!! по такому принципу я и собираюсь делать триггерное ИИ, но у меня нет примеров, так что будет трудновато))))
Нет примеров? Не проблема! Однако они простейшие, но принцип зато понятен.
Сразу говорю: "Карта не моя и на английском".
ответ
Roy Mustang:
Сделай так чтобы игрок (ии) которому принадлежат войска проиграл в самом начале и ии для него откл, и крипы не будут ждать а будут выполнять то что ты прописал в триггерах.
ответ
Ты когда создал ИИ, то сам сделай фаил .ai
И в карту только его импортируй. Wai не нужен.
Оставь wai на компе, что бы потом если что редактировать ИИ
ответ
вопрос без вопроса
с подобными предложениями туда xgm.guru/p/wc3/specialization#h4
либо себе в блог
либо создай проект

23

» WarCraft 3 / Дублируются вещи.

Похожие вопросы:

ответ
Maniac_91, область это хэндл а значит утекает
максимального количества областей ограничивается количеством оперативной памяти (до 2 гигов вроде) и максимальным количеством хэндлов (2 в 32 степени)
больше ни чем
EnergyFrost:
Максимум что тебя ожидает- лаги, которые ты получишь из-за утечек, работая с этими областями. Так что старайся не наплодить утечек и все будет окей.
как правило работа со статичными областями не вызывает утечек (если их не копировать)
ограничений на декорации тоже нету к слову (если не юзать устаревший редактор)

23

» WarCraft 3 / Освещение

Похожие вопросы:

ответ
Кристофер, это происходит из-за того, что в материале травы стоит галочка "Незатуманенный" (в переводе ошибка, следовательно, нужно читать "Незатеннёный"). Просто сними галочку и всё заработает.
ответ
Это можно сделать путем наложения полупрозрачного черного экрана, правда все в действительности будет как при паузе, действия в игре происходить будут но хп-бары и прочее пропадет
На сколько я помню, делается это с помощью того что на скрине, только там импортировать нужно свой полупрозрачный черный экран
Скрин увы не прогрузился, но поясню так:
Это делается функцией: Спецэффекты -> Фильтр затемнения
P.s. Дурацкий лимит времени на редактирование комментов
ответ
Pandemic, вот тема похожего вопроса.
ответ
Это происходит из-за per-vertex освещения. От подобных визуальных артефактов очень сложно избавиться, но можно немного замаскировать их, подкорректировав модели освещения (например, немного уменьшить интенсивность diffuse освещения и увеличить ambient):
ответ
В War3 Model Editor, в окне настроек материалов убрать метку "незатенённый" или "незатуманенный" (лучше обе, а то там вроде как они местами перепутаны).

23

» WarCraft 3 / Триггеры и Нестандартные абилки

Похожие вопросы:

ответ
vincent_freeman, как вариант - держать всегда только одну настоящую способность для строительства и переключать её пустышками. Можно даже попробовать автоматически при нажатии на пустышку активировать строительство чтобы игроку осталось только навести на точку и нажать.